package com.learn.callback.level3;

import lombok.Getter;
import lombok.Setter;
import lombok.extern.slf4j.Slf4j;

/**
 * <p>项目名称: design-pattern </p>
 *
 * <p>文件名称: SimpleCallback </p>
 *
 * Implementation of Callback
 */
@Slf4j
@Getter
@Setter
public class SimpleCallback implements Callback {

    private Task task;

    public void work(){
        log.info("Callback 调用 Task 的 executeWith方法 开始");
        task.executeWith(this::call);
        log.info("Callback 调用 Task 的 executeWith方法 完成");
    }

    @Override
    public void call() {
        log.info("回调结果");
    }
}
